<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Welcome extends CI_Controller {

	/**
	 * Index Page for this controller.
	 *
	 * Maps to the following URL
	 * 		http://example.com/index.php/welcome
	 *	- or -  
	 * 		http://example.com/index.php/welcome/index
	 *	- or -
	 * Since this controller is set as the default controller in 
	 * config/routes.php, it's displayed at http://example.com/
	 *
	 * So any other public methods not prefixed with an underscore will
	 * map to /index.php/welcome/<method_name>
	 * @see http://codeigniter.com/user_guide/general/urls.html
	 */
	public function index()
	{	
		//Cookies 只能存储 4KB 的数据, 使用时要小心超出它的容量。特别指出的是，加密会产生比原数据更长的数据字符串，所以一定要当心你要存放数据的大小。
		//$this->load->library('session');
		//$this->session->userdata('item');
		//item 是数组里的相对应数据的索引。例如，想要获得 session ID， 你要使用如下的代码
		//注意: 如果你的目标数据不存在的话，这个函数会返回 FALSE (布尔值boolean)。
		//$session_id = $this->session->userdata('session_id');
		
		//设置session值
		//$array 是一个结合数组，用来存储你的新数据。例如 :
		//		$newdata = array(
		//                   'username'  => 'johndoe',
		//                   'email'     => 'johndoe@some-site.com',
		//                   'logged_in' => TRUE
		//               );
		//
		//$this->session->set_userdata($newdata);

		//$this->session->set_userdata($array);
		//如果使用下面 set_userdata()函数的写法,可以每次只添加一个用户数据。
		//		$this->session->set_userdata('some_name', 'some_value');
		
		//取得所有 Session 数据
		//用下面的这种方式可以得到一个所有Session用户数据的数组:
		//$this->session->all_userdata()
		//		Array
		//		(
		//		    [session_id] => 4a5a5dca22728fb0a84364eeb405b601
		//		    [ip_address] => 127.0.0.1
		//		    [user_agent] => Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_7;
		//		    [last_activity] => 1303142623
		//		)
		//删除 Session 数据
		//正如使用 set_userdata() 是用来添加信息到 session 中，而通过向 unset_userdata() 
		//函数中传递 session key 可以用来删除这些信息。例如, 你想要从 session 信息里去掉 'some_name':
		//$this->session->unset_userdata('some_name');
		//也可以给这个函数传一个要删除项的关联数组。
		//		$array_items = array('username' => '', 'email' => '');
		//		$this->session->unset_userdata($array_items);
		//		CodeIgniter 支持 "闪出数据", 或者说Session数据只对下次服务器请求可用, 然后会自动清除。这应该会非常有用，往往应用在信息或状态提示中（例如：“记录2已删除”）。
		//		注意: 闪出数据变量名以“flash_”开头，所以在你自己的变量名中要避免使用这个前缀。
		//		要添加闪出数据：
		//		$this->session->set_flashdata('item', 'value');
		//		你也可以使用和 set_userdata() 同样的方式向 set_flashdata() 传递一个数组。
		//		要读取一个闪出数据变量：
		//		$this->session->flashdata('item');
		//		如果你发现你需要在一个附加的请求中保留一个闪出数据，你可以使用 keep_flashdata() 这个函数。
		//		$this->session->keep_flashdata('item');
		//销毁 Session 
		//$this->session->sess_destroy();

		$this->load->library('Cismarty');
		//$this->load->library('encrypt');
		//使用加密
		//$msg = 'My secret message';
		//$encrypted_string = $this->encrypt->encode($msg);
		//如果你不想在你的配置文件中使用一个密钥，你可以通过第二个参数随意设置你的密钥。
		//$msg = 'My secret message';
		//$key = 'super-secret-key';
		//$encrypted_string = $this->encrypt->encode($msg, $key);
		$this->load->library('session');
//		$userData = array(
//			'username'  => 'hst0305',
//			'email'     => 'johndoe@some-site.com',
//			'isLogin' => TRUE
//		);
//		$this->session->set_userdata($userData);
		//$this->session->sess_destroy();
		$username=$this->session->userdata('username');
		$password=$this->session->userdata('password');
		$isLogin=$this->session->userdata('isLogin');
		if(!$isLogin){
			$this->cismarty->assign('username',$username); 
			$this->cismarty->assign('password',$password); 
			$this->cismarty->assign('isLogin',false);
			$this->cismarty->assign('baseUrl',$this->config->item('base_url')); 
			$this->cismarty->assign('loginMsg','');
			$this->cismarty->display('login.tpl');
		}else{
			$this->load->model('Authority');
			$userInfo=$this->Authority->getLoginUser($username,$password);
			if(count($userInfo)==0){
				exit;
			}
			$menuList=$this->Authority->getMenuByUId($userInfo[0]->id);
			$this->cismarty->assign('username',$username); 
			$this->cismarty->assign('menuList',$menuList); 
			$this->cismarty->assign('isLogin',$isLogin); 
			$this->cismarty->display('main.tpl');
		}
	}
}

/* End of file welcome.php */
/* Location: ./application/controllers/welcome.php */